1. Field of the Invention
This invention generally relates to communication system link parameters and, more particularly, to a system and method for adjusting the gain levels of a multi-tap transmitter using commands from a communicating receiver.
2. Description of the Related Art
IEEE 802.3, Clause 72 defines a protocol, referred to hereafter as KR Training, to be used for a local device (LD) to adjust three different transmitter taps of a link partner (LP): the center tap, the post cursor tap (post-tap), and the precursor tap (pre-tap). The center tap settings are always a positive value, while the post cursor and precursor taps may be set to positive or negative values. When using KR Training to manipulate transmitter taps, three factors serve to limit the range of the transmitter taps. The first factor is the physical limit of the transmitter taps, referred to herein as the static limit. This limit is unique to each transmitter tap and is not dependent upon the value of the other transmitter taps. The other two factors are dynamic limits, in that these limits are dependent upon the current value of all the transmitter taps. One dynamic factor is the maximum swing voltage. This is the maximum voltage allowed by the transmitter. The output signal through the combination of transmitter taps must not exceed this voltage. The final factor limiting the transmitter taps is the minimum steady state voltage. This is the minimum voltage allowed by the transmitter. The center tap reduced by the absolute value of the post and pre cursor taps must not fall below this voltage.
For instance, reducing the precursor tap can cause the differential voltage resulting from combining all of the taps to reach the maximum limit. Once the combined maximum for all the taps is reached, the center tap cannot be increased, nor can the post cursor tap or pre-cursor tap be decreased. A tap change request can only change the value of a (requested) coefficient. The transmitter does not adjust the center tap, for example, in response to a pre/post cursor tap request.
FIG. 1 is a diagram depicting the maximum swing voltage and minimum steady state voltage limits (prior art). KR Training provides three possible transmitter responses to any tap request, they are: maximum, minimum, and updated. The maximum and minimum statuses indicate that the transmitter has been adjusted to reach a static or dynamic limit. Further, the maximum/minimum response gives no indication of whether the request was actually performed. That is, response may be the result of a tap change being performed, or if the transmitter was already in a limit condition, the response may be result of no tap change. Thus, a maximum/minimum limit response does not enable the LD to determine if a tap change was performed, or what kind of limit was encountered.
One possible solution to this problem is to perform a three-step change every time a single-step change is desired. Thus, if a tap increment is desired, a tap decrement is performed, followed by two tap increments. This “backing off” should permit the determination of maximum swing limits for the current configuration of the other two taps. However, if either of the other taps is changed, the maximum swing limit will also change. If the other taps are not adjusted, the current tap may be limited by the maximum swing voltage and the full range of tap values is not accessible by the LD.
Alternately, the center tap can be lowed significantly, to create buffer for pre and post cursor taps adjustments. When the pre and post-tap adjustments are completed, the center tap can be incremented to maximum. The problem with this approach is that the number of steps needed to lower center tap is unknown, and experimentation may be required until a clear signal is received. Lowering the center tap to permit the hitting of the maximum swing voltage limit restricts the pre and post-tap movements, as the transmitter is now closer to the steady state voltage limit.
Another approach is to use the initialize state, to begin at a specific value. When the minimum/maximum limits are hit, initialization is performed to go to the known state, and then adjustments can be made to discover the peak values. However, the initialize state is likely to already be near the maximum settings, which would require the center tap to be reduced to affect the other taps.
It would be advantageous if a method of using KR Training messages existed to adjust a LP's transmitter taps, so that static and dynamic limits could be detected and avoided.